用python海龟制图画花瓣

您所在的位置:网站首页 python用turtle 画菱形 用python海龟制图画花瓣

用python海龟制图画花瓣

2024-07-09 14:50| 来源: 网络整理| 查看: 265

操纵海龟绘图有着许多的命令,这些命令可以划分为两种:一种为运动命令,一种为画笔控制命令

1. 运动命令:

forward(degree) #向前移动距离degree代表距离

backward(degree) #向后移动距离degree代表距离

right(degree) #向右移动多少度

left(degree) #向左移动多少度

goto(x,y) #将画笔移动到坐标为x,y的位置

stamp() #复制当前图形

speed(speed) #画笔绘制的速度范围[0,10]整数

2. 画笔控制命令:

down() #移动时绘制图形,缺省时也为绘制

up() #移动时不绘制图形

pensize(width) #绘制图形时的宽度

color(colorstring) #绘制图形时的颜色

fillcolor(colorstring) #绘制图形的填充颜色

fill(Ture)

fill(false)

lucy : 梦想照进现实;露茜;青春风采;

draw_flower1.py

import turtle

import math

def p_line(t, n, length, angle):

"""Draws n line segments."""

for i in range(n):

t.fd(length)

t.lt(angle)

def polygon(t, n, length):

"""Draws a polygon with n sides."""

angle = 360/n

p_line(t, n, length, angle)

def arc(t, r, angle):

"""Draws an arc with the given radius and angle."""

arc_length = 2 * math.pi * r * abs(angle) / 360

n = int(arc_length / 4) + 1

step_length = arc_length / n

step_angle = float(angle) / n

# Before starting reduces, making a slight left turn.

t.lt(step_angle/2)

p_line(t, n, step_length, step_angle)

t.rt(step_angle/2)

def petal(t, r, angle):

"""Draws a 花瓣 using two arcs."""

for i in range(2):

arc(t, r, angle)

t.lt(180-angle)

def flower(t, n, r, angle, p):

"""Draws a flower with n petals."""

for i in range(n):

petal(t, r, angle)

t.lt(p/n)

def leaf(t, r, angle, p):

"""Draws a 叶子 and fill it."""

t.begin_fill() # Begin the fill process.

t.down()

flower(t, 1, 40, 80, 180)

t.end_fill()

def main():

window=turtle.Screen() #creat a screen

window.bgcolor("blue")

lucy=turtle.Turtle()

lucy.shape("turtle")

lucy.color("red")

lucy.width(5)

lucy.speed(0)

# Drawing flower

flower(lucy, 10, 40, 100, 360)

# Drawing pedicel

lucy.color("brown")

lucy.rt(90)

lucy.fd(200)

# Drawing leaf

lucy.rt(270)

lucy.color("green")

leaf(lucy, 40, 80, 180)

lucy.ht()

window.exitonclick()

main()

执行结果:

1715935-20200615163156319-617725931.png



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3